.\" {PTM/PB/0.1/03-04-1998/"Praktyczny język ekstrakcji i raportowania"}
.\" Translation 1999 Przemek Borys <pborys@dione.ids.pl>
.\" Translation update: Robert Luberda <robert@debian.org>, Mar 2003, perl 5.8.0
.\"
.rn '' }`
.\" $RCSfile: perl.1,v $$Revision: 1.5 $$Date: 2003/03/10 11:10:17 $
.\"
.\" $Log: perl.1,v $
.\" Revision 1.5  2003/03/10 11:10:17  robert
.\" aktualizacja do 5.8.0
.\" + hipertekstowość
.\"
.\" Revision 1.4  2000/02/28 18:52:55  wojtek2
.\" definuje=>definuje
.\" wg.=>wg
.\" usunięty przecinek przed ostatnim elementem wyliczeń: "lub" oraz "i"
.\"
.\" Revision 1.3  1999/06/14 18:55:13  pborys
.\" modyfikacje stylistyczne
.\"
.\"
.\" Rev. 1.2a w oparciu o rev.1.2; wyk.1999/06/12 hq
.\" - nieco zmian glownie poprawiajacych jasnosc stylu etc.
.\"   W przypadkach watpliwosci lingwistycznych oparlem sie o oryg.ang.
.\"   z 1999/03/28 (lecz bez wprowadzania zmian merytorycznych)
.\"
.\" Revision 1.2  1999/05/15 22:00:30  kura '''
.\" - poprawione błędy
.\" - dodana hipertekstowość
.\" - kilka poprawek
.\"
.\" Revision 1.1  1999/05/01 10:30:56  pborys
.\" Rozumie sie samo przez sie.
.\"
.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  | will give a
.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.\"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "PERL 1"
.TH PERL 1 "2003-01-11" "perl v5.8.0" "Podręcznik programisty Perla"
.SH "NAZWA"
perl \- Praktyczny język ekstrakcji i raportowania
.SH "SKŁADNIA"
.IX Header "SKŁADNIA"
\&\fBperl\fR	[\ \fB\-sTuU\fR\ ] [\ \fB\-hv\fR\ ]\ [\ \fB\-V\fR[:\fIzmienna_conf\fR]\ ]
    [\ \fB\-cw\fR\ ]\ [\ \fB\-d\fR[:\fIdebugger\fR]\ ]\ [\ \fB\-D\fR[\fInumer/lista\fR]\ ]
    [\ \fB\-pna\fR\ ]\ [\ \fB\-F\fR\fIwzorzec\fR\ ]\ [\ \fB\-l\fR[\fIoctal\fR]\ ]\ [\ \fB\-0\fR[\fIliczba_ósemkowa\fR]\ ]
    [\ \fB\-I\fR\fIkatalog\fR\ ]\ [\ \fB\-m\fR[\fB\-\fR]\fImoduł\fR\ ]\ [\ \fB\-M\fR[\fB\-\fR]\fI'moduł...'\fR\ ]
    [\ \fB\-P\fR\ ] [\ \fB\-S\fR\ ] [\ \fB\-x\fR[\fIkatalog\fR]\ ]
    [\ \fB\-i\fR[\fIrozszerzenie\fR]\ ] [\ \fB\-e\fR\ \fI'polecenie'\fR\ ]\ [\ \fB\-\-\fR\ ]\ [\ \fIplik_z_programem\fR\ ]\ [\ \fIargument\fR\ ]...
.PP
Jeśli jesteś nowicjuszem Perla, powinieneś zacząć od \fBperlintro\fR(1),
zawierającego ogólne informacje dla początkujących i dostarczającego
informacji mogących pomóc ci nawigować po reszcie szczegółowej
dokumentacji Perla.
.PP
Dla ułatwienia dostępu, podręcznik Perla został podzielony na kilka sekcji:
.Sh "Przegląd"
.IX Subsection "Przegląd"
.Vb 3
\&    \fBperl\fR(1)                Przegląd możliwości Perla  (ta sekcja)
\&    \fBperlintro\fR(1)           Wstęp do Perl dla początkujących
\&    \fBperltoc\fR(1)             Spis treści dokumentacji
.Ve
.Sh "Przewodniki"
.IX Subsection "Przewodniki"
.Vb 3
\&    \fBperlreftut\fR(1)          Szybkie wprowadzenie do referencji
\&    \fBperldsc\fR(1)             Wstęp do struktur danych
\&    \fBperllol\fR(1)             Struktury danych Perla: listy list
.Ve
.PP
.Vb 2
\&    \fBperlrequick\fR(1)         Szybkie wprowadzenie do wyrażeń regularnych
\&    \fBperlretut\fR(1)           Podręcznik wyrażeń regularnych
.Ve
.PP
.Vb 4
\&    \fBperlboot\fR(1)            Podręcznik OO Perla dla początkujących
\&    \fBperltoot\fR(1)            Podręcznik OO Perla, część 1
\&    \fBperltooc\fR(1)            Podręcznik OO Perla, część 2
\&    \fBperlbot\fR(1)             Sztuczki OO wraz z przykładami
.Ve
.PP
.Vb 1
\&    \fBperlstyle\fR(1)           Przewodnik po stylu Perla
.Ve
.PP
.Vb 2
\&    \fBperltrap\fR(1)            Pułapki dla nieuważnych
\&    \fBperldebtut\fR(1)          Przewodnik debuggowania Perla
.Ve
.PP
.Vb 10
\&    \fBperlfaq\fR(1)             Często zadawane pytania
\&      \fBperlfaq1\fR(1)          Ogólne pytania dotyczące Perla
\&      \fBperlfaq2\fR(1)          Uzyskiwanie Perla i nauka
\&      \fBperlfaq3\fR(1)          Narzędzie programistyczne
\&      \fBperlfaq4\fR(1)          Manipulowanie danymi
\&      \fBperlfaq5\fR(1)          Pliki i formaty
\&      \fBperlfaq6\fR(1)          Wyrażenia regularne
\&      \fBperlfaq7\fR(1)          Sprawy związane z językiem
\&      \fBperlfaq8\fR(1)          Oddziaływanie z systemem
\&      \fBperlfaq9\fR(1)          Sieć
.Ve
.Sh "Reference Manual"
.IX Subsection "Reference Manual"
.Vb 20
\&    \fBperlsyn\fR(1)             Składnia
\&    \fBperldata\fR(1)            Struktury danych
\&    \fBperlop\fR(1)              Operatory Perla i priorytety
\&    \fBperlsub\fR(1)             Podprocedury
\&    \fBperlfunc\fR(1)            Wbudowane funkcje
\&      \fBperlopentut\fR(1)       Podręcznik funkcji open()
\&      \fBperlpacktut\fR(1)       Podręcznik funkcji pack() i unpack()
\&    \fBperlpod\fR(1)             Czysta stara dokumentacja
\&    \fBperlpodspec\fR(1)         Format czystej starej dokumentacji
\&    \fBperlrun\fR(1)             Wywoływanie Perla i opcje
\&    \fBperldiag\fR(1)            Komunikaty diagnostyczne
\&    \fBperllexwarn\fR(1)         Ostrzeżenia Perla i ich kontrola
\&    \fBperldebug\fR(1)           Debugowanie
\&    \fBperlvar\fR(1)             Predefiniowane zmienne
\&    \fBperlre\fR(1)              Wyrażenia regularne, reszta opowieści
\&    \fBperlref\fR(1)             Referencje, reszta opowieści
\&    \fBperlform\fR(1)            Formaty
\&    \fBperlobj\fR(1)             Obiekty Perla
\&    \fBperltie\fR(1)             Obiekty ukryte za prostymi zmiennymi
\&      \fBperldbmfilter\fR(1)     Filtry DBM
.Ve
.PP
.Vb 3
\&    \fBperlipc\fR(1)             Komunikacja międzyprocesowa
\&    \fBperlfork\fR(1)            Informacje o funkcji fork()
\&    \fBperlnumber\fR(1)          Semantyka liczb w Perlu
.Ve
.PP
.Vb 2
\&    \fBperlthrtut\fR(1)          Podręcznik wątków Perla
\&      \fBperlothrtut\fR(1)          Stary podręcznik wątków Perla
.Ve
.PP
.Vb 5
\&    \fBperlport\fR(1)            Podręcznik przenaszalności Perla
\&    \fBperllocale\fR(1)          Wsparcie dla ustawień narodowych
\&    \fBperluniintro\fR(1)        Wprowadzenie do Unikodu w Perlu
\&    \fBperlunicode\fR(1)         Wsparcie dla Unikodu w Perlu
\&    \fBperlebcdic\fR(1)          Używanie Perla na platformach EBCDIC
.Ve
.PP
.Vb 1
\&    \fBperlsec\fR(1)             Bezpieczeństwo
.Ve
.PP
.Vb 5
\&    \fBperlmod\fR(1)             Moduły Perla: jak działają
\&    \fBperlmodlib\fR(1)          Moduły Perla: jak pisać i używać
\&    \fBperlmodstyle\fR(1)        Moduły Perla: jak pisać ze stylem
\&    \fBperlmodinstall\fR(1)      Moduły Perla: jak zainstalować z archiwum CPAN
\&    \fBperlnewmod\fR(1)          Moduły Perla: przygotowanie nowego modułu do dystrybucji
.Ve
.PP
.Vb 1
\&    \fBperlutil\fR(1)            Narzędzie użytkowe znajdujące się w dystrybucji Perla
.Ve
.PP
.Vb 1
\&    \fBperlcompile\fR(1)         Wstęp do zestawu do kompilowania Perla
.Ve
.PP
.Vb 1
\&    \fBperlfilter\fR(1)          Filtry źródeł Perla
.Ve
.Sh "Funkcje wewnętrze i interfejs języka C"
.IX Subsection "Funkcje wewnętrze i interfejs języka C"
.Vb 7
\&    \fBperlembed\fR(1)           Jak załączyć Perl do aplikacji C lub C++
\&    \fBperldebguts\fR(1)         Wskazówki dotyczące debuggowania Perla
\&    \fBperlxstut\fR(1)           Podręcznik XS 
\&    \fBperlxs\fR(1)              API interfejsu XS 
\&    \fBperlclib\fR(1)            Funkcje wewnętrzne zastępujące standardowe funkcje biblioteki C
\&    \fBperlguts\fR(1)            Wewnętrzne funkcje dla tych, którzy robią rozszerzenia
\&    \fBperlcall\fR(1)            Konwencje wołania z C
.Ve
.PP
.Vb 4
\&    \fBperlapi\fR(1)             Lista funkcji API (wygenerowana automatycznie)
\&    \fBperlintern\fR(1)          Wewnętrzne funkcje Perla (wygenerowane automatycznie)
\&    \fBperliol\fR(1)             API w C implementacji wejścia/wyjścia w Perlu przy użyciu warstw (layers)
\&    \fBperlapio\fR(1)            Abstrakcyjny, wewnętrzny interfejs Perla dla wejścia/wyjścia
.Ve
.PP
.Vb 1
\&    \fBperlhack\fR(1)            Przewodnik hakerów Perla
.Ve
.Sh "Różnorodne"
.IX Subsection "Różnorodne"
.Vb 2
\&    \fBperlbook\fR(1)            Informacje o książkach
\&    \fBperltodo\fR(1)            Rzeczy do zrobienia w nowszych wersjach Perla
.Ve
.PP
.Vb 9
\&    \fBperlhist\fR(1)            Historia Perla
\&    \fBperldelta\fR(1)           Zmiany od ostatniej wersji
\&    \fBperl572delta\fR(1)        Zmiany w wersji 5.7.2 Perla
\&    \fBperl571delta\fR(1)        Zmiany w wersji 5.7.1 Perla
\&    \fBperl570delta\fR(1)        Zmiany w wersji 5.7.0 Perla
\&    \fBperl561delta\fR(1)        Zmiany w wersji 5.6.1 Perla
\&    \fBperl56delta\fR(1)         Zmiany w wersji 5.6 Perla
\&    \fBperl5005delta\fR(1)       Zmiany w wersji 5.005 Perla
\&    \fBperl5004delta\fR(1)       Zmiany w wersji 5.004 Perla
.Ve
.Sh "Specyficzne dla języka"
.IX Subsection "Specyficzne dla języka"
.Vb 4
\&    \fBperlcn\fR(1)              Perl dla Chińczyków (uproszczony chiński, w EUC-CN)
\&    \fBperljp\fR(1)              Perl dla Japończyków (w EUC-JP)
\&    \fBperlko\fR(1)              Perl dla Koreańczyków (w EUC-KR)
\&    \fBperltw\fR(1)              Perl for Chińczyków (tradycyjny chiński, w Big5)
.Ve
.Sh "Specyficzne dla systemu"
.IX Subsection "Specyficzne dla systemu"
.Vb 30
\&    \fBperlaix\fR(1)             Uwagi do systemu AIX
\&    \fBperlamiga\fR(1)           Uwagi do systemu AmigaOS
\&    \fBperlapollo\fR(1)          Uwagi do systemu Apollo DomainOS
\&    \fBperlbeos\fR(1)            Uwagi do systemu BeOS
\&    \fBperlbs2000\fR(1)          Uwagi do systemu POSIX-BC BS2000
\&    \fBperlce\fR(1)              Uwagi do systemu WinCE
\&    \fBperlcygwin\fR(1)          Uwagi do systemu Cygwin
\&    \fBperldgux\fR(1)            Uwagi do systemu DG/UX
\&    \fBperldos\fR(1)             Uwagi do systemu DOS
\&    \fBperlepoc\fR(1)            Uwagi do systemu EPOC
\&    \fBperlfreebsd\fR(1)         Uwagi do systemu FreeBSD
\&    \fBperlhpux\fR(1)            Uwagi do systemu HP-UX
\&    \fBperlhurd\fR(1)            Uwagi do systemu Hurd
\&    \fBperlirix\fR(1)            Uwagi do systemu Irix
\&    \fBperlmachten\fR(1)         Uwagi do systemu Power MachTen
\&    \fBperlmacos\fR(1)           Uwagi do systemu Mac OS (Classic)
\&    \fBperlmint\fR(1)            Uwagi do systemu MiNT
\&    \fBperlmpeix\fR(1)           Uwagi do systemu MPE/iX
\&    \fBperlnetware\fR(1)         Uwagi do systemu NetWare
\&    \fBperlos2\fR(1)             Uwagi do systemu OS/2
\&    \fBperlos390\fR(1)           Uwagi do systemu OS/390
\&    \fBperlplan9\fR(1)           Uwagi do systemu Plan 9
\&    \fBperlqnx\fR(1)             Uwagi do systemu QNX
\&    \fBperlsolaris\fR(1)         Uwagi do systemu Solaris
\&    \fBperltru64\fR(1)           Uwagi do systemu Tru64
\&    \fBperluts\fR(1)             Uwagi do systemu UTS
\&    \fBperlvmesa\fR(1)           Uwagi do systemu VM/ESA
\&    \fBperlvms\fR(1)             Uwagi do systemu VMS
\&    \fBperlvos\fR(1)             Uwagi do systemu Stratus VOS
\&    \fBperlwin32\fR(1)           Uwagi do systemu Windows
.Ve
.PP
Na systemach Debiana, należy zainstalować pakiet \fBperl-doc\fR, który
 zawiera większość standardowej dokumentacji Perla oraz program
\&\fBperldoc\fR(1).
.PP
Dostępna jest szczegółowa dokumentacja modułów perla zarówno tych
rozprowadzanych z Perlem, jak i tych, które są dostarczane
przez dostawców zewnętrznych.
.\" those distributed with Perl and third-party modules which are packaged
.\" or locally installed.
.PP
Powinieneś być w
stanie  oglądać dokumentację Perla swoim programem \fBman\fR\|(1) 
lub \fBperldoc\fR\|(1).
.PP
Jeżeli z twoim programem w Perlu dzieje się coś dziwnego i nie wiesz,
gdzie szukać pomocy, spróbuj najpierw użyć opcji \fB\-w\fP, która bardzo często
potrafi pokazać, gdzie dokładnie leży problem.
.SH "OPIS"
.IX Header "OPIS"
Perl jest językiem interpretowanym, optymalizowanym do skanowania
dowolnych plików tekstowych, wyciągania z nich informacji i drukowania
raportów opartych na tych danych. Jest też dobrym językiem dla wielu zadań
zarządzania systemem. Język miał w założeniach być raczej praktyczny (łatwy,
efektywny, kompletny) niż piękny (mały, elegancki, minimalny).
.PP
Perl (wg autora) łączy najlepsze właściwości języków C, \fBsed\fR,
\fBawk\fR i \fBsh\fR, więc osoby zaznajomione z tymi językami nie powinny
mieć z nim problemów. (Historycy języków zauważą także pozostałości
\&\fBcsh\fR, Pascala, a nawet \s-1BASICa\-PLUS\s0).
Składnia wyrażeń odpowiada dość blisko składni C. W
przeciwieństwie do większości narzędzi uniksowych, Perl nie ogranicza
arbitralnie rozmiaru twoich danych\*(--jeśli masz wolną pamięć, Perl może
wessać cały plik jako pojedynczy łańcuch znakowy. Rekurencja
jest nieograniczonej głębokości. Tabele używane przez tablice asocjacyjne
(tzw. \*(L"hasze\*(R") rosną tak, by zachować maksymalną wydajność. 
Perl używa wyrafinowanych
metod porównywania wzorców do bardzo szybkiego przeszukania dużej ilości
danych. Mimo że jest optymalizowany do zadań tekstowych, może także zajmować
się danymi binarnymi i tworzyć pliki dbm wyglądające jak tablice asocjacyjne.
Suidowane skrypty Perla są bezpieczniejsze niż programy w C, dzięki
mechanizmowi śledzenia przepływających danych, który eliminuje wiele głupich
dziur w bezpieczeństwie. 
.PP
Jeśli masz problem, który normalnie wymagałby
użycia \fBsed\fRa lub \fBawk\fRa, lub \fBsh\fR, lecz przewyższa ich
właściwości lub musi działać szybciej i nie chcesz pisać takiej błahostki
w C, to Perl jest przypuszczalnie tym, czego szukasz. Jest też wiele
translatorów, umożliwiających konwertowanie skryptów \fBsed\fRa i \fBawk\fRa
na skrypty Perla.
.PP
Ale czekaj, jest więcej...
.PP
Wersja 5 Perla jest właściwie napisana od nowa i daje następujące rzeczy:
.IP "\(bu" 4 
modularyzacja i powtórne używanie kodu z pomocą niezliczonych modułów
.Sp
Opisane w \fBperlmod\fR(1), \fBperlmodlib\fR(1) i \fBperlmodinstall\fR(1).
.IP "\(bu" 4
zakorzenienie i rozszerzalność
.Sp
Opisane w \fBperlembed\fR(1), \fBperlxstut\fR(1), \fBperlxs\fR(1), \fBperlcall\fR(1),
\fBperlguts\fR(1) i \fBxsubpp\fR(1).
.IP "\(bu" 4
pozwala zdefiniować właśnie magiczne zmienne (włączając w to wielokrotne równoległe
implementacje \s-1DBM\s0)
.\" FIXME: roll-your-own magic variables (including multiple simultaneous \s-1DBM\s0 implementations)
.Sp
Opisane w \fBperltie\fR(1) i \fBAnyDBM_File\fR(3perl).
.IP "\(bu" 4
podprogramy mogą być teraz nadpisywane, ładowane automatycznie i mogą mieć prototypy
.Sp
Opisane w \fBperlsub\fR(1).
.IP "\(bu" 4
dowolnie zagnieżdżone struktury danych i funkcje anonimowe
.Sp
Opisane w \fBperlreftut\fR(1), \fBperlref\fR(1), \fBperldsc\fR(1) i \fBperllol\fR(1).
.IP "\(bu" 4
programowanie orientowane obiektowo
.Sp
Opisane w \fBperlobj\fR(1), \fBperlboot\fR(1), \fBperltoot\fR(1), \fBperltooc\fR(1) i \fBperlbot\fR(1).
.IP "\(bu" 4
wkompilowywanie w kod C lub bajtkod Perla
.Sp
Opisane w \fBB\fR(3perl) i \fBB::Bytecode\fR(3perl).
.IP "\(bu" 4
wsparcie dla wątków
.Sp
Opisane w \fBperlthrtut\fR(1) i \fBThread\fR(3perl).
.IP "\(bu" 4
wsparcie dla internacjonalizacji, ustawień językowych i Unikodu
.Sp
Opisane w \fBperllocale\fR(1) i \fButf8\fR(3perl).
.IP "\(bu" 4
zasięg składniowy
.Sp
Opisane w \fBperlsub\fR(1).
.IP "\(bu" 4
ulepszenie wyrażeń regularnych
.Sp
Opisane w \fBperlre\fR(1) z dodatkowymi przykładami w \fBperlop\fR(1).
.IP "\(bu" 4
ulepszony debugger i interaktywne środowisko Perla ze wsparciem
dla zintegrowanego edytora
.Sp
Opisane w \fBperldebtut\fR(1), \fBperldebug\fR(1) i \fBperldebguts\fR(1).
.IP "\(bu" 4
biblioteka zgodna z \s-1POSIX\s0 1003.1
.Sp
Opisane w \s-1POSIX\s0.
.PP
OK, to już \fIwystarczająco\fR dużo.
.SH "DOSTĘPNOŚĆ"
.IX Header "DOSTĘPNOŚĆ"
Perl jest dostępny dla większości systemów operacyjnych, włączając w to
wszystkie systemy uniksopodobne. 
Lista znajduje się w rozdziale 
\&\*(L"Wspierane platformy\*(R" w  \fBperlport\fR(1).
.PP
.SH "ŚRODOWISKO"
.IX Header "ŚRODOWISKO"
Patrz \fBperlrun\fR(1).
.SH "AUTOR"
.IX Header "AUTOR"
Larry Wall <larry@wall.org>, z pomocą multum innych osób.
.PP
Jeżeli Twoje sukcesy w Perlu i referencje mogłyby pomóc innym,
którzy by chcieli użyć Perla w swoich programach,
lub jeżeli po prostu chcesz wyrazić swoją wdzięczność Larry'emu
i twórcom Perla, prosimy pisać do perl\-thanks@perl.org .
.SH "PLIKI"
.IX Header "PLIKI"
.PP
.Vb 1
\& "@INC"                 lokalizacje bibliotek Perla
.Ve
.SH "ZOBACZ TAKŻE"
.IX Header "ZOBACZ TAKŻE"
.PP
.Vb 2
\& a2(1)     translator awk na perl
\& s2p(1)    translator seda na perl
.Ve
.PP
.Vb 3
\& http://www.perl.com/       strona domowa Perla
\& http://www.cpan.org/       archiwum CPAN
\& http://www.perl.org/       Perl Mongers (grupy użytkowników Perla)
.Ve
.SH "DIAGNOSTYKA"
.IX Header "DIAGNOSTYKA"
Pragma \f(CW\*(C`use warnings\*(C'\fR (i przełącznik \fB\-w\fR) daje uroczą diagnostykę.
.PP
Zobacz stronę \fBperldiag\fR(1) dla szczegółów o diagnostyce Perla.
Pragma \f(CW\*(C`use diagnostics\*(C'\fR powoduje, że 
zazwyczaj zwięzłe ostrzeżenia i błędy Perla są wyświetalne właśnie
w tej dłuższej formie.
.PP
Błędy kompilacji dają numer linii z błędem oraz wskazanie kolejnego tokenu
lub typu tokenu, który miał być badany. (W wypadku skryptu przekazanego
Perlowi przez przełącznik \fB\-e\fR, każde \fB\-e\fR jest traktowane jako
pojedyncza linia).
.PP
Skrypty setuidowane mają dodatkowe warunki, mogące dawać błędy w
rodzaju \*(L"Insecure dependency\*(R".  Zobacz stronę \fBperlsec\fR(1).
.PP
Wspomnieliśmy już, że powinieneś koniecznie rozważyć użycie przełącznika
\fB\-w\fR?
.SH "BŁĘDY"
.IX Header "BŁĘDY"
Przełącznik \fB\-w\fR nie jest obowiązujący.
.PP
Perl polega na tym, jak twoja maszyna definiuje różne operacje, takie jak
rzutowanie typów, \fIatof()\fR(3) i \fIsprintf\fR(3). To ostatnie może nawet
spowodować coredump kiedy otrzyma nonsensowne wartości wejściowe.
.PP
Jeśli twoje stdio wymaga seeka lub eof między odczytami i zapisami w danym
strumieniu, to tak też jest w Perlu. (Nie dotyczy to \fIsysread()\fR
i \fIsyswrite()\fR).
.PP
Podczas gdy żaden z wbudowanych typów danych nie ma ostatecznego limitu
rozmiaru (poza rozmiarem pamięci), istnieje wciąż kilka innych ograniczeń:
dany identyfikator nie może być dłuższy niż 251 znaków.
Numery linii wyświetlane w komunikatach diagnostycznych są wewnętrznie
przechowywane jako liczby całkowite \*(L"short integers\*(R", dlatego
maksymalna wartość jaką mogą przyjąć wynosi 65535 (wyższy numer
spowoduje ponowne liczenia od zera).
.\" FIXME  (higher numbers usually being
.\" affected by wraparound).
.PP
Raporty o błędach możesz przesyłać pocztą do \fIperlbug@perl.com\fR
(upewnij się, że załączyłeś pełne dane o konfiguracji jako wyjście programu
myconfig, załączanego w drzewie źródłowym Perla, lub z \f(CW\*(C`perl \-V\*(C'\fR)).
Jeśli udało ci się skompilować perla, skrypt \fBperlbug\fR(1) z katalogu \fIutils/\fR może
zostać wykorzystany do pomocy w wysłaniu raportu błędu.
.PP
Perl właściwie jest skrótem od Pathologically Eclectic Rubbish Lister
(Patologicznie Eklektyczny Roztrząsacz Śmieci), ale nie mów nikomu, że tak
powiedziałem.
.SH "UWAGI"
.IX Header "UWAGI"
Mottem Perla jest \*(L"Istnieje więcej niż jeden sposób by to
zrobić.\*(R". Odgadnięcie, ile pozostało jest ćwiczeniem dla czytelnika.
.PP
Trzy główne cnoty programisty to Lenistwo, Niecierpliwość i Pycha.
Sprawdź w \*(L"książce z wielbłądem\*(R" dlaczego (L.Wall, T.Christiansen,
R.L.Schwartz - Programmming Perl, O'Reilly & Associates, 1996;
wyd.polskie 1999).
